package com.yhd.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import tk.mybatis.mapper.annotation.KeySql;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 课程已预约信息表
 */
@Data
public class TCourseBooked implements Serializable {
    /**
     * 主键
     */
    @Column(name = "ID")
    @Id
    @KeySql(useGeneratedKeys = true)
    @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "jdbc")
    private Integer id;



    /**
     * 课程id
     */
    @Column(name = "courseId")
    private String courseId;

    /**
     * 预约的用户id
     */
    @Column(name = "cuserId")
    private String cuserId;

    /**
     * 招生老师id
     */
    @Column(name = "tuserId")
    private String tuserId;

    /**
     * 招生老师
     */
    @Column(name = "tuser")
    private String tuser;
    /**
     * 推荐人id
     */
    @Column(name = "referrerUserId")
    private String referrerUserId;
    /**
     * 推荐人
     */
    @Column(name = "referrerUser")
    private String referrerUser;
    /**
     * 是否同意课程协议 1是 0否
     */
    @Column(name = "isAgreeAgreement")
    private Integer isAgreeAgreement;
    /**
     * 0:待审核 1:待付款  2:已付款 3:拒绝报名 4取消订单
     */
    @Column(name = "status")
    private Integer status;
    /**
     * 创建时间
     */
    @Column(name = "createTime")
    private Date createTime;
    /**
     * 修改人
     */
    @Column(name = "updateUserId")
    private String updateUserId;

    /**
     * 修改时间
     */
    @Column(name = "updateTime")
    private Date updateTime;

    /**
     * 流水号
     */
    @Column(name = "serialNum")
    private String serialNum;

    /**
     * 支付时间
     */
    @Column(name = "payTime")
    private Date payTime;

    /**
     * 性别 0女 1男
     */
    @Column(name = "sex")
    private Integer sex;

    /**
     * 证件类型
     */
    @Column(name = "cardType")
    private String cardType;
    /**
     * 证件号码
     */
    @Column(name = "cardNo")
    private String cardNo;
    /**
     * 生日
     */
    @Column(name = "birthday")
    private String birthday;
    /**
     * 电话
     */
    @Column(name = "phone")
    private String phone;

    /**
     * 公司
     */
    @Column(name = "company")
    private String company;

    /**
     * 职位
     */
    @Column(name = "position")
    private String position;

    /**
     * 预约类型：0=普通预约，1=体验预约
     */
    @Column(name = "subType")
    private Integer subType;

    /**
     * 生成得订单号
     */
    @Column(name = "orderNo")
    private String orderNo;
    
    /**
     * 类型 activity:活动，course:课程
     */
    @Column(name = "type")
    @ApiModelProperty(value = "类型 activity:活动，course:课程")
    private String type;
    
    /**
     * 用户名
     */
    @Column(name = "userName")
    @ApiModelProperty(value = "用户名")
    private String userName;
        /**
     * 价格
     */
    @Column(name = "price")
    private BigDecimal price;
    
    /**
     * 支付方式：0线下支付 1线上支付 2免费
     */
    @Column(name = "payType")
    @ApiModelProperty(value = "支付方式：0线下支付 1线上支付 2免费")
    private Integer payType;

    /**
     * 是否允许参与：0否 1是
     */
    @Column(name = "participate")
    @ApiModelProperty(value = "是否允许参与：0否 1是")
    private Integer participate;

}